package file;

import java.io.File;

/**
 * java.io.File类
 * 该类的每一个实例用于表示硬盘上的一个文件或目录(实际表示的是一个抽象路径)
 * 操作系统中有一个子系统称为：文件系统，是用来管理硬盘的他将数据保存在文件中，
 * 并使用目录来归类.File就是用来访问文件系统中的文件和目录的
 *
 * File可以：
 * 1.访问其表示的文件或目录的属性信息，比如，名字大小，修改时间等
 * 2.可以创建或删除文件和目录
 * 3.可以访问一个目录中的子项
 * 但是不能访问文件数据(java中有其他API可以干这个事)
 *
 */
public class FileDemo {
    public static void main(String[] args) {
        //访问当前项目下的test.txt文件
//        File file = new File(
//                "D:/idea_woekspace/JSD2105_SE/test.txt");

        /*
            实际开发中，我们使用路径都是适用的相对路径，它有更好的跨平台性，
            "./"称为当前目录，当前目录是哪里要是当前程序的运行环境而定，如果是在
            idea中执行我们的程序，那么当前目录就是当前程序所在的项目目录。
         */
        File file = new File("./test.txt");

        String name = file.getName();
        System.out.println(name);

        //返回文件大小，单位是字节
        long length = file.length();
        System.out.println(length);

        boolean cr = file.canRead();
        System.out.println("是否可读："+cr);
        boolean ch = file.canWrite();
        System.out.println("是否可写:"+ch);
        boolean ih = file.isHidden();
        System.out.println("是否隐藏："+ih);

        //获取文件绝对路径
        System.out.println(file.getAbsolutePath());
    }
}
